package santeclair.connexion.dao.journalisation;

import java.util.Date;
import java.util.List;

import santeclair.connexion.bean.journalisation.JournalisationTrouvee;
import santeclair.connexion.domaine.parametrage.Journalisation;
import santeclair.lunar.framework.dao.jpa.IFwkGenericJpaDAO;

/**
 * Interface du DAO pour les objets JournalisationDao.
 * 
 * @author fmokhtari
 */
public interface JournalisationDao extends IFwkGenericJpaDAO<Journalisation> {

    /**
     * @see {@link JournalisationService}
     * */
    List<JournalisationTrouvee> rechercheSimple(String codeTypeEchangeJournalisation, String identifiantMetier, String application, Integer idOrganisme);

    /**
     * @return liste des applications
     */
    List<String> findApplications();

    /**
     * @see {@link JournalisationService}
     * 
     * @param codeTypeEchangeJournalisation
     * @param dateDebut
     * @param dateFin
     * @param organisme
     * @param application
     * @param format
     * @param service
     * @return
     */
    List<JournalisationTrouvee> rechercheAvancee(String codeTypeEchangeJournalisation, Date date, Integer idOrganisme, String application, String format,
                    String service);

}
